草庐IT

MySQL IF THEN 在 WHERE 子句中

全部标签

MySQL 选择 : where time is greater then and less than time

我有一个接受两个时间参数的函数:$start_time,$end_time每个参数在php中定义为时间$start_time=date("H:i:s",strtotime($start));->like"06:12:44"$end_time=date("H:i:s",strtotime($end));->like"08:22:14"我想构建一个查询来给出这些时间之间的结果这是我的功能functionstatistics_connected_hour($gateway_id,$date_sql,$start_time,$end_time){$statistics_connected=my

MySQL WHERE 子句自动修剪尾随空格

这个问题在这里已经有了答案:关闭9年前。PossibleDuplicate:Howtostring-compareforasinglespace为什么在MySQL中可以查询SELECTnameFROMgroupsWHEREname='WEB'注意到所有尾随空格。我希望这不会返回任何行,因为WEB组存在但不存在带有尾随空格的WEB。如何强制MySQL准确查询而不自动修剪WHERE子句中的尾随空格?

MySQL 在多行上查询 WHERE 和 AND

您好,我有一个关于MySQL查询的问题。我有下表:product_properties我想创建一个过滤器查询。例如:想要查看带有与“230”匹配的“示例”的所有产品。这将返回一个项目,我使用的是:SELECT*FROMproduct_propertiesWHEREproperty='example'ANDvalue='230';这很简单,但现在我想显示所有带有与“230”匹配的“示例”和与“110”匹配的“功率”的产品。我尝试了以下方法:SELECT*FROMproduct_propertiesWHEREproperty='example'ANDvalue='230'ANDproper

mysql - 为什么 find_in_set 有效但 IN 子句

我有这样的代码。DELIMITER$$CREATEPROCEDURE`sp_deleteOrderData`(orderidBIGINT(11))BEGINDECLAREshipmentnumbersVARCHAR(1000);DECLAREcartonidVARCHAR(1000);SELECTGROUP_CONCAT(a_shipmentid)FROMt_shipmentWHEREa_orderid=orderidINTOshipmentnumbers;SELECTGROUP_CONCAT(a_cartonid)FROMt_cartonWHEREa_shipmentidIN(shi

mysqli 准备语句日期和子句之间

$stmt=$mysqli->prepare("SELECTvinFROMjobsWHEREoutbetween?and?");$stmt->bind_param('ss',$startday,$endday);$startday='2013-01-01';$endday='2013-12-31';$stmt->execute();$stmt->store_result();$stmt->bind_result($vin);echo$vin;如果我删除语句之间的部分,上面的代码会抛出这个错误,查询工作。我尝试将列名称括在方括号中,但这也终止了查询,所以我不得不删除它们。似乎问题出在be

使用子选择与值列表的 MySQL IN 子句

我需要对一些相关数据进行两级过滤。第一个查询类似于:SELECTt1.fk_idFROMt1LEFTJOINt3ONt3.fk_id=t1.fk_idWHEREt1.field1>10ANDt3.field2=Y第二个查询针对具有相同fk_id字段的另一个表运行,看起来像SELECTt2.fk_id,SUM(t2.field3)ASsum_3,SUM(t2.field_4)ASsum_4FROMt2WHEREfk_idIN(fk_values_from_query_1)GROUPBYt2.fk_idHAVINGsum_3>1000现在,据我所知,我可以运行这2种不同的方式-虽然我不受任

MySql select like where field like full string

我有一个网站,多个网站使用相同的代码,每个网站根据产品表中的设置动态地彼此不同。当用户访问网站时,我会获取完整的URL,我在产品表URL字段中有一个简短版本的url。我需要知道他加载了什么产品,所以我需要有效地说WHERE%URL%likefullURL其中url是较小的URL,完整URL是他加载的页面的URL。例如,在产品列表中我可以有URLblog.com用户点击页面,提取的完整URL为www.blog.com/index.php?parm1=test所以我需要WHERE%www.blog.com%likewww.blog.com/index.php?parm1=test这是代码,

mysql - 在 where 子句中使用 -(dash) 的简单选择问题

我需要搜索像1234-abc这样的值。数据库没有这个特定值,但有另一个值1234。现在的问题是当我像这样写查询时SELECT*FROMwordsWHEREtval='1234-abc'它不是获取空记录集,而是获取1234值,它似乎忽略了-之后的任何内容,知道发生了什么吗?http://sqlfiddle.com/#!2/9de62/3 最佳答案 可以使用BINARY关键字进行精确匹配SELECTtvalFROMwordsWHEREBINARYtval='1223-abc';Binary是一个内置关键字,位于WHERE子句之后,强制比

删除触发器之前的Mysql,如果没有where子句,防止删除?

我知道删除触发器中没有"new"值,所以不确定这是否可能。我正在尝试使用删除前触发器来记录一些值,效果很好,但如果用户未在where子句中指定任何内容,我还想防止删除任何记录。基本上,我不希望他们把整张table都抹掉。(应用程序开发者实际上有代码错误)目前我有:delimiter$$createtriggertg_order_shipping_bdbeforedeleteonorder_shippingFOREACHROWbegininsertintoorder_shipping_log(log_type,inv_nbr,old_tracking_nbr)values('DEL',O

mysql查询where和order by需要很长时间

我有700万条记录的mysql数据库当我像这样运行查询时select*fromdatawherecat_id=12orderbyiddesclimit0,30查询需要很长时间,比如0.4603秒但相同的查询使用out(wherecat_id=12)或使用out(orderbyiddesc)非常快查询需要很长时间,比如0.0002秒我有cat_id和id的索引有任何方法可以快速查询(whereandorderby)谢谢 最佳答案 创建一个结合了cat_id和id的复合索引。参见http://dev.mysql.com/doc/refm